using System;
using System.Collections.Generic;
using BaseAmd.Mmp.FileNameFormat;
using Catastrophe.Common.FileM;

namespace BaseAmd.Mmp
{
	public interface IProgHandler
	{
		Action<int, int, FileInfoEntity> DownLoadNcProcessHandler { get; set; }

		Action<int, int> UploadPcProcessHandler { get; set; }

		TransResult DownLoadNcSingle(FileInfoEntity srcFile, FileInfoEntity dstFileInfo, ProgApiResources apiRes);

		TransResult DownLoadNcMulti(List<FileInfoEntity> entityBuf, string remotePath, ProgApiResources apiRes);

		TransResult UploadPcSingle(FileInfoEntity remoteFileInfo, string localPath, ProgApiResources apiRes);

		TransResult Rename(string srcName, string destName, string root, ProgApiResources apiRes);

		TransResult DeleteFile(List<string> fileAry, ProgApiResources apiRes);

		Tuple<TransResult, List<FileInfoEntity>> GetProgDetails(string stationName, ProgApiResources apiRes);

		bool IsFileExist(string fileName, ProgApiResources apiRes);

		BaseFileRename FileRename();
	}
}
